package co.edu.udea.iw.rest;

import java.rmi.RemoteException;
import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import co.edu.udea.iw.dao.service.solicitudService;
import co.edu.udea.iw.dto.solicitud;
import co.edu.udea.iw.exception.waDaoException;
import co.edu.udea.iw.exception.waServiceException;

@Path("solicitud")
@Component
public class ServicioSolicitud {
	@Autowired
	private solicitudService solicitudService;

	@Produces(MediaType.APPLICATION_XML)
	@GET
	public List<solicitud> consultar() throws RemoteException {

		List<solicitud> listaSolicitudes = null;
		try {
			listaSolicitudes = solicitudService.consultarSolicitudes();
			for (solicitud sol : listaSolicitudes) {
				solicitud solws = new solicitud();

				solws.setNombre(sol.getNombre());
				solws.setApellido(sol.getApellido());
				solws.setId_solicitud(sol.getId_solicitud());
				solws.setCelular(sol.getCelular());
				solws.setEmail(sol.getEmail());
				solws.setEstado(0);
				solws.setSucursal(sol.getSucursal());
				solws.setTipo_producto(sol.getTipo_producto());
				solws.setTipo_solicitud(sol.getTipo_solicitud());
                solws.setTexto(sol.getTexto());
				listaSolicitudes.add(solws);
			}
		} catch (waDaoException e) {
			throw new RemoteException(e.getMessage());
		}

		return listaSolicitudes;

	}

	@Produces(MediaType.TEXT_PLAIN)
	@POST
	public String guardarSolicitud(
			@QueryParam("id_solicitud") String id_solicitud,
			@QueryParam("nombre") String nombre,
			@QueryParam("apellido") String apellido,
			@QueryParam("telefono") String telefono,
			@QueryParam("celular") String celular,
			@QueryParam("producto") String producto,
			@QueryParam("tipo_solicitud") String tipo_solicitud,
			@QueryParam("texto") String texto,
			@QueryParam("email") String email,
			@QueryParam("sucursal") String sucursal){

		try {
			solicitudService.guardarSolicitud(id_solicitud, nombre, apellido,telefono,celular,producto,tipo_solicitud,texto,email,sucursal,0);
		} catch (waDaoException e) {
			e.getMessage();
		} catch (waServiceException e) {

			e.getMessage();
		}

		return "";
	}

	

}
